Лабораторная работа №8

Дисциплина: Администрирование сетевых подсистем

Ибрахим Мохсейн Алькамаль

Российский университет дружбы народов

2026-02-13

Цель работы

Цель работы

  • Приобретение практических навыков установки SMTP-сервера
  • Освоение конфигурирования Postfix

Выполнение лабораторной работы

Переход в режим суперпользователя

  • Выполнен вход на виртуальную машину server
  • Выполнена команда sudo -i
  • Получено приглашение root@server.alkamal.net

Рисунок 1: Переход в режим суперпользователя на сервере

Установка пакетов Postfix и s-nail

  • Установлены пакеты postfix и s-nail через dnf
  • Разрешены зависимости
  • Установка завершена без ошибок

Рисунок 2: Установка пакетов postfix и s-nail с помощью dnf

Настройка межсетевого экрана для службы SMTP

  • Разрешена служба smtp через firewall-cmd
  • Изменения применены к текущей и постоянной конфигурации
  • Проверка --list-services подтвердила наличие smtp

Рисунок 3: Разрешение службы SMTP в firewalld

Восстановление контекста безопасности SELinux

  • Выполнена команда restorecon -vR /etc
  • Восстановлены корректные контексты безопасности
  • Подтверждено изменение контекста конфигурационного файла

Рисунок 4: Восстановление контекста безопасности SELinux

Запуск и активация службы Postfix

  • Выполнено systemctl enable postfix
  • Выполнено systemctl start postfix
  • Проверка systemctl status postfix — состояние active (running)

Рисунок 5: Статус службы Postfix после запуска

Просмотр текущих параметров Postfix

  • Выполнена команда postconf
  • Отображён список активных параметров
  • Проверены параметры адресации и транспортов

Рисунок 6: Вывод команды postconf — список текущих параметров

Проверка параметров myorigin и mydomain

  • Проверено значение myorigin = $myhostname
  • Проверено значение mydomain = alkamal.net
  • Установлено myorigin = $mydomain
  • Выполнены postfix check и systemctl reload postfix
  • Проверка postconf -n подтвердила изменения

Рисунок 7: Изменение параметра myorigin и проверка конфигурации

Жёсткая установка домена и отключение IPv6

  • Установлено mydomain = alkamal.net
  • Проверено inet_protocols = all
  • Установлено inet_protocols = ipv4
  • Выполнены postfix check и systemctl reload postfix
Рисунок 8: Настройка параметров mydomain и inet_protocols

1. Отправка тестового сообщения с сервера

  • Отправлено письмо test1 пользователю alkamal@server.alkamal.net
Рисунок 9: Отправка письма test1 с сервера

2. Анализ журналов и локальной доставки на сервере

  • Выполнен мониторинг /var/log/maillog
  • Обнаружено status=sent (delivered to mailbox)
  • Обнаружено removed
  • Проверен каталог /var/spool/mail
  • Подтверждено получение письма пользователем
Рисунок 10: Мониторинг maillog при локальной отправке
Рисунок 11: Содержимое почтового ящика пользователя

Установка Postfix и s-nail на клиенте

  • На машине client установлены postfix и s-nail
  • Установка завершена успешно
Рисунок 12: Установка postfix на клиенте
Рисунок 13: Установка s-nail на клиенте

Настройка протоколов и запуск Postfix на клиенте

  • Проверено значение inet_protocols
  • Установлено inet_protocols = ipv4
  • Служба добавлена в автозагрузку
  • Выполнен запуск Postfix

Рисунок 14: Настройка inet_protocols и запуск Postfix на клиенте

Повторная отправка письма с клиента

  • Отправлено письмо test2 на alkamal@server.alkamal.net

Рисунок 15: Отправка письма test2 с клиента

Проверка сетевых параметров на сервере

  • Проверено inet_interfaces = localhost
  • Проверено mynetworks = 127.0.0.1/32
  • Подтвержден приём только локальных соединений

Рисунок 16: Просмотр параметров inet_interfaces и mynetworks

Разрешение сетевых соединений

  • Установлено inet_interfaces = all
  • Установлено mynetworks = 127.0.0.0/8, 192.168.0.0/16
  • Выполнены postfix check, перезагрузка и перезапуск службы

Рисунок 17: Изменение параметров сети Postfix

Повторная отправка письма после изменения конфигурации

  • Письмо с клиента успешно доставлено
  • В заголовке: Received: from client.alkamal.net (192.168.1.30)
  • В журнале: status=sent (delivered to mailbox)
Рисунок 18: Заголовки письма, полученного с клиента
Рисунок 19: Запись в журнале о доставке письма с клиента

Настройка прямой DNS-зоны с MX-записью

  • В файл зоны добавлена запись MX 10 mail.alkamal.net.
  • Добавлена A-запись mail → 192.168.1.1
  • Обеспечена маршрутизация почты домена

Рисунок 20: Файл прямой DNS-зоны с MX-записью

Настройка обратной DNS-зоны

  • Добавлены PTR-записи для 192.168.1.1
  • Связаны имена: server, ns, dhcp, www, mail
  • Обеспечено корректное обратное разрешение

Рисунок 21: Файл обратной DNS-зоны с PTR-записями

Добавление домена в параметры mydestination

  • Установлено значение mydestination
  • Выполнены postfix check и systemctl reload postfix
  • Восстановлены контексты SELinux
  • Перезапущена служба named
  • Выполнена обработка очереди postqueue -f

Рисунок 22: Настройка mydestination и перезапуск служб

Отправка письма на доменный адрес с клиента

  • Отправлено письмо test3 на alkamal@alkamal.net

Рисунок 23: Отправка письма на доменный адрес

Проверка доставки сообщения

  • В журнале обнаружено status=sent (delivered to mailbox)
  • Подтверждена корректная доставка после настройки MX и mydestination

Рисунок 24: Журнал Postfix с подтверждением доставки

Копирование конфигурации DNS в каталог provision сервера

  • Выполнен переход в каталог provision
  • Скопированы файлы из /var/named
  • Подтверждена перезапись файлов зоны

Рисунок 25: Копирование файлов DNS в каталог provision

Создание скрипта mail.sh на сервере

  • Создан исполняемый файл mail.sh
  • Добавлена установка postfix и s-nail
  • Настроен firewall и SELinux
  • Настроены параметры mydomain, myorigin, inet_protocols, inet_interfaces, mynetworks, mydestination
  • Выполнен перезапуск службы

Рисунок 26: Содержимое mail.sh на сервере

Создание скрипта mail.sh на клиенте

  • Создан файл mail.sh в каталоге provision
  • Сделан исполняемым
Рисунок 27: Создание mail.sh на клиенте
  • Установлены postfix и s-nail
  • Установлено inet_protocols = ipv4
  • Добавлена автозагрузка службы
  • Выполнен запуск Postfix
Рисунок 28: Содержимое mail.sh на клиенте

Добавление provisioning-скрипта для сервера в Vagrantfile

  • Добавлен блок server.vm.provision
  • Указан путь provision/server/mail.sh
  • Обеспечена автоматическая настройка сервера

Рисунок 29: Добавление provisioning для сервера в Vagrantfile

Добавление provisioning-скрипта для клиента в Vagrantfile

  • Добавлен блок client.vm.provision
  • Указан путь provision/client/mail.sh
  • Обеспечена автоматическая настройка клиента

Рисунок 30: Добавление provisioning для клиента в Vagrantfile

Выводы

Выводы

  • Выполнена полная настройка Postfix в домене alkamal.net
  • Настроены параметры сети и безопасности
  • Реализована локальная и сетевая доставка почты
  • Настроены MX и PTR-записи DNS
  • Проверена доставка сообщений по доменному имени
  • Реализована автоматизация настройки через provisioning-скрипты